Computer network routers include network interfaces, to which links from computers, switches and other routers may be connected. The network interfaces are typically handled by device drivers (software) executed by processors. The network interfaces and/or the device drivers enqueue packets received by the network interfaces onto queues for subsequent processing within the routers. The subsequent processing may involve simply moving a packet to another queue for transmission by an outgoing network interface, or the processing may be more complex.
Most packets handled by routers are data packets which, for the most part, are simply forwarded toward their respective destinations. However, some data packets, such as the first data packet of a stream of data packets, may require address resolution. That is, the router may need to ascertain how to direct the packet toward its destination, which takes time and consumes hardware resources, such as processor time, in the router. Once the router resolves the destination address of the first packet in the stream and places the address information in a table, the router can rapidly forward subsequent packets of the stream by simply accessing the table.
In addition to data packets, routers and other network nodes exchange various types of network management packets according to various network management protocols. For example, the address resolution protocol (ARP) is a protocol used by the Internet Protocol (IP), specifically IPv4, to map IP network addresses to hardware addresses used by a data link protocol. For another example, bidirectional forwarding detection (BFD) is a network protocol used to detect faults between two forwarding engines connected by a link.
Most of these network management packets are processed within a router without being forwarded, i.e., the packets are “consumed” by the router. Nevertheless, some network management packets require considerable computation and may be handled by processor resources that are in limited supply in the router. Thus, routers typically maintain queues of network management packets awaiting processing.
A flood of network management packets, such as from a malicious actor or a malfunctioning router, can fill up these queues, thereby forcing the receiving router to drop subsequent (legitimate) network management packets, which may cause loss of valuable network management information, such as address resolutions or information about changes in network topology.